package com.project.les.view.elements;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * Representação básica de um grupo de feriados por estado para a View.
 * @author saulo
 */
public class StateViewElement {

	/**
	 * O nome do estado.
	 */
	private String name;
	
	/**
	 * O conjunto de feriados do estado relacionado.
	 */
	private ArrayList<FeriadoViewElement> feriados;
	
	/**
	 * Constrói um grupo de feriados por estado.
	 * @param name O nome do feriado relacionado.
	 */
	public StateViewElement(String name) {
		this.name = name;
		this.feriados = new ArrayList<FeriadoViewElement>();
	}

	/**
	 * Retorna o nome do estado.
	 * @return O nome do estado.
	 */
	public String getName() {
		return this.name;
	}
	
	/**
	 * Adiciona um feriado ao conjunto de feriados do estado.
	 * @param feriado O feriado a adicionar.
	 */
	public void addFeriado(FeriadoViewElement feriado) {
		this.feriados.add(feriado);
	}
	
	/**
	 * Returna um Iterator para o conjunto de feriados do estado.
	 * @return Um Iterator para o conjunto de feriados do estado.
	 */
	public Iterator<FeriadoViewElement> getFeriadosIterator() {
		return this.feriados.iterator();
	}
	
	/**
	 * Retorna o número de feriados do mês correspondente.
	 * @return O número de feriados do mês correspondente.
	 */
	public int getNumberOfFeriados() {
		return this.feriados.size();
	}
}
